#ifndef _PYOPENSG_ALIASES_H_
#define _PYOPENSG_ALIASES_H_

#include <string>
#include <vector>
#include <map>
#include <OpenSG/OSGPerfMonitor.h>


OSG_BEGIN_NAMESPACE

class GeoPumpGroup;
class Light;

OSG_END_NAMESPACE

/** List of aliases to use with pyplusplus.  These make smaller file names and type names. */
namespace pyplusplus
{

namespace aliases
{
   typedef std::vector<std::string> string_vector_t;

   typedef std::vector<OSG::GeoPumpGroup*> geo_pump_group_vector_t;
   typedef std::vector<OSG::Light*> light_vector_t;
   typedef std::vector<unsigned short> ushort_vector_t;
   typedef std::map<unsigned int, unsigned int> uint_uint_map_t;

   typedef std::deque<float> float_deque_t;
   typedef std::vector<OSG::NestedSampleInfoPtr> nested_sample_stack_t;
   typedef std::vector<float> float_vector_t;
   typedef std::vector<OSG::NestedPerfTracker::SamplePair> sample_pair_vector_t;

   typedef AttachmentContainerMixin< OSG::ContainerMixinHead<OSG::ContainerAttachmentContainerDesc> > final_containeratt_desc;
   typedef AttachmentMixin< OSG::ContainerMixinHead<OSG::FieldContainerAttachmentDesc> > final_fieldcontaineratt_desc;

   typedef std::vector<std::pair<GeoIntegralPropertyPtr, std::vector<UInt16> > > index_bag_t;
}

}


#endif /* _PYOPENSG_ALIASES_H_ */
